#ifndef REMOTETHREADMANAGE_H
#define REMOTETHREADMANAGE_H

#include <QObject>
#include <QTcpSocket>
#include <qtcpserver.h>
#include <qtcpsocket.h>
#include <QString>

#include "Interface/PluginInterface/tecplugininterface.h"
#include "Interface/PluginInterface/kukateplugininterface.h"

#include "WorkThreadManage/BackTcpThreadManage.h"
#include "WorkThreadManage/BackUdpThreadManage.h"
#include "WorkThreadManage/HmiLocalThreadManage.h"

class HmiRemoteThread : public QObject{
    Q_OBJECT

public:
     HmiRemoteThread();
    ~HmiRemoteThread();
     HmiLocalThread*  pHmiThread;
     BackTcpThread*   pBackTcpThread;
     BackUdpThread*   pBackUdpThread;
private:
     QTimer *AskCommandTimer;
     QTcpSocket* pClientSocket = nullptr;
     tecPluginInterface* ptecPluginInstance = nullptr;
     kukatecPluginInterface* pkukatecPluginInstance = nullptr;
public slots:
     void RemoteDataRecv();
     void AskCommandTimerUpdate();
};

#endif // REMOTETHREADMANAGE_H
